Podsumowanie

Wykorzystane biblioteki:

library(knitr)
library(shiny)
library(plotly)
## Warning: package 'plotly' was built under R version 3.4.3
library(ggplot2)
library(dplyr)
library(caret)
library(pROC)
## Warning: package 'pROC' was built under R version 3.4.3

Wczytanie danych

elektrownie <- as.data.frame(read.csv("elektrownie.csv"));
elektrownie_wykr <- filter(elektrownie, pressure != 0);
elektrownie_wykr <- filter(elektrownie, irr_pvgis_mod != 0);  
elektrownie_wykr <- filter(elektrownie, pressurei != 0);

Przetwarzanie brakujących danych

Rozmiar zbioru i podstawowe statystyki

Szczegółowa analiza wartości atrybutów

Korelacje między zmiennymi

kor1 <- plot_ly(elektrownie_wykr, x = ~data, y= elektrownie_wykr$azimuth, name = 'azimuth', type = 'scatter', mode = 'markers') %>%
  add_trace(y = ~elektrownie_wykr$kwh, name = 'energia', mode = 'markers') %>%
  layout(title = 'Azymut - energia ',
         xaxis = list(title = 'Energia',
                      zeroline = TRUE),
         yaxis = list(title = 'Azymut'));
kor1;
kor2 <- plot_ly(elektrownie_wykr, x = ~data, y= elektrownie_wykr$temp, name = 'temp', type = 'scatter', mode = 'markers') %>%
  add_trace(y = ~elektrownie_wykr$kwh, name = 'energia', mode = 'markers')%>%
  layout(title = 'Temperatura - energia ',
         xaxis = list(title = 'Energia',
                      zeroline = TRUE),
         yaxis = list(title = 'Temperatura'));
kor2;
kor3 <- plot_ly(elektrownie_wykr, x = ~data, y= elektrownie_wykr$pressure, name = 'pressure', type = 'scatter', mode = 'markers') %>%
  add_trace(y = ~elektrownie_wykr$kwh, name = 'energia', mode = 'markers')%>%
  layout(title = 'Cisnienie - energia',
         xaxis = list(title = 'Energia',
                      zeroline = TRUE),
         yaxis = list(title = 'Ciesnienie'));
kor3;

Wykres zmiany wytwarzanej energii w czasie i przestrzeni

p_glowny <- plot_ly(elektrownie_wykr, x = ~kwh, y = ~ora, z = ~dist,
         marker = list(color = ~elektrownie_wykr$azimuth, colorscale = c('#FFE1A1', '#683531'), showscale = TRUE)) %>%
   add_markers() %>%
   layout(scene = list(xaxis = list(title = 'Energia'),
                      yaxis = list(title = 'Godzina'),
                      zaxis = list(title = 'Odleglosc')),
          annotations = list(
            x = 1.13,
            y = 1.05,
            text = 'Energia',
            xref = 'paper',
            yref = 'paper',
            showarrow = FALSE
          ))
p_glowny;

Regresor przewidujący wytwarzaną energię przez każdy panel w ujęciu godzinowym

trainPart <- createDataPartition(
  y = elektrownie_wykr$idsito,
  p = .75,
  list = FALSE
)

training <- elektrownie_wykr[trainPart,];
testing <- elektrownie_wykr[-trainPart,];

ctrl <- trainControl(
    # powtórzona ocena krzyżowa
    method = "repeatedcv",
    # liczba podziałów
    number = 2,
    # liczba powtórzeń
    repeats = 5);

set.seed(23)
fit <- train(kwh ~ idsito,
              data = training,
              method = "gaussprLinear",
              trControl = ctrl);
fit
## Gaussian Process 
## 
## 1896 samples
##    1 predictor
## 
## No pre-processing
## Resampling: Cross-Validated (2 fold, repeated 5 times) 
## Summary of sample sizes: 948, 948, 948, 948, 948, 948, ... 
## Resampling results:
## 
##   RMSE        Rsquared   MAE       
##   0.07031674  0.0435249  0.02434517

Analiza ważności atrybutów najlepszego znalezionego modelu regresji: